package com.itheima02.day03test;

/**
 * @author 刘全
 * @date 2021/7/18
 */
/*
定义接口IGetMax，接口中定义抽象方法 int getMax(int[] arr);
分别编写这个接口的匿名内部类和lambda表达式。
 */
public class test4 {
    public static void main(String[] args) {
        //匿名内部类
        method(new IGetMax() {
            @Override
            public int getMax(int[] arr) {
                int max = 0;
                for (int i = 0; i < arr.length; i++) {
                    if (max < arr[i]) {
                        max = arr[i];
                    }
                }
                return max;
            }
        });
        //lambda表达式
        method(arr -> {
            int max = 0;
            for (int i = 0; i < arr.length; i++) {
                if (max < arr[i]) {
                    max = arr[i];
                }
            }
            return max;
        });
    }

    public static void method(IGetMax iGetMax) {
        int[] arr = {11, 88, 55, 33, 99, 22};
        int max = iGetMax.getMax(arr);
        System.out.println("最大值为:" + max);
    }
}

interface IGetMax {
    int getMax(int[] arr);
}